package com.gpframework.module.manufacture.domain.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName GpProductionFlowAdd
 * @Author gpframework
 * @Date 2023-12-13
 * @Version 1.0.0
 * @Description 生产跟踪Add对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpProductionFlowAdd {
    private static final long serialVersionUID = 1L;

    /** 品牌id */
    @ApiModelProperty("品牌id")
    private String brandId;

    /** 品牌名称 */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 订单号 */
    @ApiModelProperty("订单号")
    private String sn;

    /** 缺货报库存申请表id */
    @ApiModelProperty("缺货报库存申请表id")
    private Long productionApplicationId;

    /** 做货明细表id */
    @ApiModelProperty("做货明细表id")
    private Long productionDetailsId;

    /** 染厂id */
    @ApiModelProperty("染厂id")
    private Long dyeingFactoryId;

    /** 染厂名称 */
    @ApiModelProperty("染厂名称")
    private String dyeingFactoryName;

    /** 生产排单表id */
    @ApiModelProperty("生产排单表id")
    private Long productionSchedulingId;

    /** 胚布基础表id */
    @ApiModelProperty("胚布基础表id")
    private Long supplierGreyClothId;

    /** 到货单id */
    @ApiModelProperty("到货单id")
    private Long deliveryNoteId;

    /** 供应商名称 */
    @ApiModelProperty("供应商名称")
    private String supplierName;

    /** 批号 */
    @ApiModelProperty("批号")
    private String batchNo;

    /** 缸号 */
    @ApiModelProperty("缸号")
    private String dyeVatNo;

    /** 发货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("发货日期")
    private Date sendOutGoodsTime;

    /** 仓点 */
    @ApiModelProperty("仓点")
    private String warehousePoint;

    /** 产品基础表id */
    @ApiModelProperty("产品基础表id")
    private Long produceProductId;

    /** 产品名 */
    @ApiModelProperty("产品名")
    private String productName;

    /** 颜色 */
    @ApiModelProperty("颜色")
    private String colour;

    /** 成本 */
    @ApiModelProperty("成本")
    private BigDecimal cost;

    /** 胚布单价（元/KG） */
    @ApiModelProperty("胚布单价（元/KG）")
    private BigDecimal greyClothUnitPrice;

    /** 染费单价（元/KG） */
    @ApiModelProperty("染费单价（元/KG）")
    private BigDecimal dyeingFeeUnitPrice;

    /** 染厂进仓重量 */
    @ApiModelProperty("染厂进仓重量")
    private Long warehouseEntryWeight;

    /** 成品条数 */
    @ApiModelProperty("成品条数")
    private Integer quantity;

    /** 打码规格表id */
    @ApiModelProperty("打码规格表id")
    private Long codingSpecificationsId;

    /** 打码规格（足码） */
    @ApiModelProperty("打码规格（足码）")
    private String codingSpecificationsSufficient;

    /** 打码规格（空码） */
    @ApiModelProperty("打码规格（空码）")
    private String codingSpecificationsEmpty;

    /** 大小条合计（码） */
    @ApiModelProperty("大小条（码）")
    private Integer sizeBar;

    /** 大小条1（码） */
    @ApiModelProperty("大小条1（码）")
    private String sizeBarOne;

    /** 大小条2（码） */
    @ApiModelProperty("大小条2（码）")
    private Integer sizeBarTwo;

    /** 大小条3（码） */
    @ApiModelProperty("大小条3（码）")
    private Integer sizeBarThree;

    /** 成品总码数（足） */
    @ApiModelProperty("成品总码数（足）")
    private BigDecimal finishProductQuantitySufficient;

    /** 成品入库总码数（空） */
    @ApiModelProperty("成品入库总码数（空）")
    private BigDecimal finishProductQuantityEmpty;

    /** 单条重量KG */
    @ApiModelProperty("单条重量KG")
    private BigDecimal singleWeight;

    /** 成品净重KG */
    @ApiModelProperty("成品净重KG")
    private BigDecimal finishProductWeight;

    /** 纸管重量KG */
    @ApiModelProperty("纸管重量KG")
    private BigDecimal paperTubeWeight;

    /** 损耗KG */
    @ApiModelProperty("损耗KG")
    private BigDecimal lossWeight;

    /** 损耗率 */
    @ApiModelProperty("损耗率")
    private BigDecimal lossRate;

    /** 正常损耗值 */
    @ApiModelProperty("正常损耗值")
    private BigDecimal normalLossValue;

    /** 损耗差异 */
    @ApiModelProperty("损耗差异")
    private BigDecimal lossDiff;

    /** 胚布出码率（码/KG） */
    @ApiModelProperty("胚布出码率（码/KG）")
    private BigDecimal greyClothOutputRate;

    /** 成品出码率（码/KG） */
    @ApiModelProperty("成品出码率（码/KG）")
    private BigDecimal finishProductOutputRate;

    /** 标准出码率（码/KG） */
    @ApiModelProperty("标准出码率（码/KG）")
    private BigDecimal standardOutputRate;

    /** 出码差异 */
    @ApiModelProperty("出码差异")
    private BigDecimal outputDiff;

    /** 异常状态 */
    @ApiModelProperty("异常状态")
    private String exceptionState;

    /** 订单状态 */
    @ApiModelProperty("订单状态")
    private String orderState;

    /** 跟单人id */
    @ApiModelProperty("跟单人id")
    private Long followUpId;

    /** 跟单人名称 */
    @ApiModelProperty("跟单人名称")
    private String followUpName;

    /** 跟单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("跟单时间")
    private Date followUpTime;

    /** 操作人id */
    @ApiModelProperty("操作人id")
    private Long operatorId;

    /** 操作人名称 */
    @ApiModelProperty("操作人名称")
    private String operatorName;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("操作时间")
    private Date operatorTime;

    /** 排序 */
    @ApiModelProperty("排序")
    private Integer sort;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remarks;

    /** 操作人编号 */
    private String operatorNum;

}
